//
//  CZBaseTableViewController.swift
//  Weibo24
//
//  Created by apple on 16/2/24.
//  Copyright © 2016年 apple. All rights reserved.
// 测试

import UIKit
// UITableViewController -- 因为 微博里的那4个模块,都是以列表的形式展示
// 父类控制器是有功能来决定继承自 UITableViewController还是 UIVIewController

/*
    思考? 什么时候显示访客视图
    1.得知道是否登录成功 -- 可以去判断模型里的 用户数据 -- access_token,如果有 access_token 表明登录
    2.才能去判断是否去显示访客视图
*/

class CZBaseTableViewController: UITableViewController ,CZVisitorDelegate{

    //父类定义一个属性,子类可以访问
    var visitor: CZVisitor?
    
    var isLogin: Bool = CZUserViewModel.shareInstance.isLogin!
    
    // 定义一个bool值,来判断是否有 access_token
    /*
        1. 查找access_token
        2. 读取数据 -- 接档
    */
    
//    lazy var model: CZUserModel? = {
//        
//        let model = CZUserModel()
//        
//      return  model.readObject("info.aaaaa")
//        
//        
//    }()

//    lazy var model: CZUserModel? = CZUserModel.readObject("info.aaaaa")
    
//    var isLogin: Bool = true // => 一会可以去判断
    // 走一次 怎么让它走第二次
    // 改变根控制器 -- 在哪里去改变根控制器
    override func loadView() {
        
//        let model = CZUserModel.readObject("info.aaaaa")
//        let userViewModel = CZUserViewModel()
        
//        if CZUserViewModel.shareInstance.model?.access_token == nil {
//            showVisitorView()
//            
//        } else {
//            super.loadView()
//            
//        }

//        if CZUserViewModel.shareInstance.access_token == nil {
//            showVisitorView()
//            
//        } else {
//            super.loadView()
//            
//        }

        
        if CZUserViewModel.shareInstance.isLogin! {

            super.loadView()
        } else {
            
             showVisitorView()
            
        }

    }
    
    //  viewDidLoad 走一次
    override func viewDidLoad() {
        super.viewDidLoad()

        
    }
    
    
//    override func viewWillAppear(animated: Bool) {
//        super.viewWillAppear(animated)
//        
//        let model = CZUserModel.readObject("info.aaaaa")
//        
//        if model?.access_token == nil {
//            showVisitorView()
//
//        } else {
//            view = nil
//        }
//    }
    
    
    private func showVisitorView(){
        visitor = CZVisitor()
        /*
        OC里设置完代理,不去遵守并实现代理方法不会报错
        Swift会报错,遵守并实现代理方法
        */
        visitor?.delegate = self
        //        visitor?.startAnimation()
        
        view = visitor
        //设置nav
        setupNav()
    }

    private func setupNav(){
        
        //
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", style: UIBarButtonItemStyle.Plain, target: self, action: "didRegister")
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登陆", style: UIBarButtonItemStyle.Plain, target: self, action: "didLogin")
        //
        
    }
    
    func didLogin() {
        
    }
    
    func didRegister() {
        print("控制器 代理回调")
        
        //
        let login = CZLoginViewController()
        
        let nav = UINavigationController(rootViewController: login)
        
        //
        presentViewController(nav , animated: true) { () -> Void in
            
        }
        
    }
    
   
}
